メインコンテンツまでスキップ

DBMS Migration Tool 사용 가이드

1. 개요

필독사항

해당 Tool은 JDK1.8 기준으로 개발되어 있으므로, JRE 1.8에서 구동해주시길 바랍니다.

※ CUBRID의 경우 서버에 설치되어 있는 CUBRID의 버전과 jdbc 버전이 동일해야 동작함.
따라서 버전에 맞는 jdbc 라이브러리를 DBMSMigrationTool_lib에 넣고 실행해야함.
※ 커스텀된 table 및 컬럼은 지원이 안되므로 별도로 수작업 해야 합니다.

쿼리를 수정하거나, 대상 DBMS에서 테이블 수정 및 컬럼 수정하세요.
※ 버전 차이나는 테이블에 대해서는 오류가 발생 할 수 있습니다. 따라서 수동 마이그레이션 진행이 필요합니다 (예.pcdevicelog_info)

※ DBMS 툴에서 메모리 부족으로 인해 최대 INSERT문 개수는 5만개로 제한합니다.

※ 테이블의 IDX가 자동 증가인 경우 원본 DBMS에서 해당 옵션이 있는 경우 자동으로 입력되어서 쿼리가 생성됩니다.

기존에 데이터가 있는 경우 중복이 될 수 있으므로, 내용 확인 바랍니다.

MSSQL
시작점에 SET IDENTITY_INSERT " + tableName + " ON;이 추가됩니다.
종료지점에 SET IDENTITY_INSERT " + tableName + " OFF;가 추가됩니다.
※ 테이블의 데이터 중 특수기호가 있어 오류나는 경우

ORACLE
시작점에 SET DEFINE ON;가 추가됩니다.
종료지점에 SET DEFINE OFF;가 추가됩니다.

DBMS Migration Tool 다운로드 : DBMS Migration Tool.zip

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

<Tabs defaultValue="Linux" values={[ {label: 'Linux', value: 'Linux'}, {label: 'Windows', value: 'Windows'} ]}>

2. Linux에서 추출 방법

2.1. DBMS_Migration_Tool.zip 파일을 압축을 해제

  • DBMS_Migration_Tool.zip 파일압축 해제 하여 tar.gz 또는 tar로 만들어도 무관합니다.

2.2. DBMS_Migration_Tool 폴더를 서버에 업로드

2.3. DBMS_Migration_Tool 실행

java -jar /업로드위치/DBMS_Migration_Tool/DBMS_Migration_Tool.jar
java설치 되었으나 바로 실행이 안되는 경우
/JAVA가 설치된경로/bin/java -jar /업로드위치/DBMS_Migration_Tool/DBMS_Migration_Tool.jar
java가 설치가 안된(SCI서버 설치된 상태) 경우
/SCI Server설치경로/jre/bin/java -jar /업로드위치/DBMS_Migration_Tool/DBMS_Migration_Tool.jar

2.4. 원본 DBMS정보 및 대상 DBMS 정보 선택

2.4.1. 원본 DBMS 선택 (1~4번 입력 후 엔터)

export const DBMSSelectionSVG = () => (

원본 DBMS 선택 (1) MS-SQL (2) MARIADB (3) ORACLE (4) CUBRID => `}} /> );

{}

2.4.2. 원본 DBMS의 IP 입력

export const IPInputPromptSVG = () => (

IP를 입력해주세요. => `}} /> );

{}

2.4.3. 원본 DBMS의 PORT 입력

export const PortInputPromptSVG = () => (

PORT를 입력해주세요. => `}} /> );

{}

2.4.4. 사용자 정보 입력 (ID, PW)

export const UserIdInputPromptSVG = () => (

사용자 ID를 입력해주세요. => `}} /> );

{}

export const UserPasswordInputPromptSVG = () => (

사용자 패스워드를 입력해주세요. => `}} /> );

{}

2.4.5. 원본 DB명 입력 (대소문자 구분x)

export const OriginalDBInputPromptSVG = () => (

원본 DB명을 입력해주세요. => `}} /> );

{}

2.4.6. 대상 DBMS 선택 (1~4번 입력 후 엔터)

export const TargetDBMSSelectionSVG = () => (

대상 DBMS 선택 (1) MS-SQL (2) MARIADB (3) ORACLE (4) CUBRID => `}} /> );

{}

2.5. 원본 DATA 추출

export const DataMigrationScriptsSVG = () => (

Data migration scripts for table AddressBook_Info generated successfully. Data migration scripts for table AddressBookTarget_Info generated successfully. Data migration scripts for table AlarmProgram_Info generated successfully. Data migration scripts for table ApproachTargetDutyGroup_Info generated successfully. Data migration scripts for table ApproachTargetGroup_Info generated successfully. Data migration scripts for table ApproachTargetUserGroup_Info generated successfully. Data migration scripts for table BackupSchedule_Info generated successfully. Data migration scripts for table BlockUseProcess_Info generated successfully. Data migration scripts for table BusinessExtension_Info generated successfully. Data migration scripts for table BusinessProgram_Info generated successfully. Data migration scripts for table Category_Info generated successfully. Data migration scripts for table CategoryAuth_Info generated successfully. Data migration scripts for table CategoryGroupAuth_Info generated successfully. Data migration scripts for table CategoryPrintMarkEnv_Info generated successfully. Data migration scripts for table CategoryUserAuth_Info generated successfully. Data migration scripts for table CheckoutUser_Info generated successfully. Data migration scripts for table ClassifierEnv_Info generated successfully. Data migration scripts for table ClientToolAuth_Info generated successfully. Data migration scripts for table ClientToolRunProtocol_Info generated successfully. Data migration scripts for table ClientVersionList_Info generated successfully. Data migration scripts for table ClientVersionPolicy_Info generated successfully. Data migration scripts for table ClientVersionUserAuth_Info generated successfully. Data migration scripts for table ConfigToolAuth_Info generated successfully. Data migration scripts for table ConfigToolProcess_Info generated successfully. Data migration scripts for table ConfigToolProcessAuth_Info generated successfully. Data migration scripts for table ConfigToolTemplate_Info generated successfully. Data migration scripts for table CREATE_PC_ID generated successfully. Data migration scripts for table CrossDBServer_Info generated successfully. Data migration scripts for table CRLinkerLicense_Info generated successfully. Data migration scripts for table CRLinkerTargetAuth_Info generated successfully. Data migration scripts for table CustomPolicy_Info generated successfully. Data migration scripts for table CustomPolicyAuth_Info generated successfully. Data migration scripts for table DBVersion_Info generated successfully. Data migration scripts for table DecryptPolicy_Info generated successfully. Data migration scripts for table DeviceLogPolicy_Info generated successfully. Data migration scripts for table DBvcondata_Info generated successfully. Data migration scripts for table DisconPolicy_Info generated successfully. Data migration scripts for table DIskQuota_Info generated successfully. Data migration scripts for table EventHandlerData_Info generated successfully. Data migration scripts for table EventHandlerDataAuth_Info generated successfully. Data migration scripts for table EventHandlerProcess_Info generated successfully. Data migration scripts for table EXP_AppControl_Info generated successfully. Data migration scripts for table EXP_CategoryAuth_Info generated successfully. Data migration scripts for table EXP_CheckoutDocEnv_Info generated successfully. Data migration scripts for table EXP_EncryptCreate_Info generated successfully. Data migration scripts for table EXP_EncryptCreateAuth_Info generated successfully. Data migration scripts for table EXP_EncryptPolicy_Info generated successfully. Data migration scripts for table EXP_EncryptUserGroupCreateAuth_Info generated successfully. Data migration scripts for table EXP_ForcedAuth_Info generated successfully. Data migration scripts for table EXP_ForcedencryptAuth_Info generated successfully. Data migration scripts for table EXP_LoginPolicy_Info generated successfully. Data migration scripts for table EXP_NetworkRule_Info generated successfully. Data migration scripts for table EXP_Policy_Info generated successfully. Data migration scripts for table EXP_MDdeviceAuth_Info generated successfully. Data migration scripts for table EXP_PrintMarkEnv_Info generated successfully. Data migration scripts for table EXP_Profile_Info generated successfully. Data migration scripts for table EXP_UpgradeServer_Info generated successfully. Data migration scripts for table FileServer_Info generated successfully. Data migration scripts for table FileServerEnv_Info generated successfully. Data migration scripts for table FileServerTargetEnv_Info generated successfully. Data migration scripts for table ForcedgroupAuth_Info generated successfully. Data migration scripts for table ForcedUserAuth_Info generated successfully. Data migration scripts for table GeneralEmkeyLog_Info generated successfully. Data migration scripts for table Group_Info generated successfully. Data migration scripts for table GroupAccessGroup_Info generated successfully. Data migration scripts for table GroupAdControl_Info generated successfully. Data migration scripts for table GroupCheckoutDocEnv_Info generated successfully. Data migration scripts for table GroupDiskQuota_Info generated successfully. Data migration scripts for table GroupEncryptCategory_Info generated successfully. Data migration scripts for table GroupEncryptCreateAuth_Info generated successfully. Data migration scripts for table GroupEncryptPolicy_Info generated successfully. Data migration scripts for table GroupEncryptUserGroupCreateAuth_Info generated successfully. Data migration scripts for table GroupForcedAuth_Info generated successfully. Data migration scripts for table GroupForcedEncryptAuth_Info generated successfully. Data migration scripts for table GroupGroupManagerAuth_Info generated successfully. Data migration scripts for table GroupLoginPolicy_Info generated successfully. Data migration scripts for table GroupManagerAuth_Info generated successfully. Data migration scripts for table GroupNetworkRule_Info generated successfully. Data migration scripts for table GroupPrintMarkEnv_Info generated successfully. Data migration scripts for table GroupProfile_Info generated successfully. Data migration scripts for table GroupUpgradeServer_Info generated successfully. Data migration scripts for table GroupUserAuth_Info generated successfully. Data migration scripts for table InspectionPolicy_Info generated successfully. `}} /> );

{}

2.6. 실패시 에러 log 확인가능 (PORT 틀렸을 경우)

export const SQLServerExceptionSVG = () => (

com.microsoft.sqlserver.jdbc.SQLServerException: 호스트 10.11.10.213, 포트 1521에 대한 TCP/IP 연결이 실패했습니다. 오류: "Connection refused: no further information" 연결이 거부되었습니다. 확인하십시오. SQL Server의 인스턴스가 호스트에서 실행되고 있고 호스트에서 TCP/IP 연결을 수락하고 있는지 확인하십시오. 또한 호스트의 TCP 연결을 차단하지 않는지 확인하십시오. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241) at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243) at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1310) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:992) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:828) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) at com.softcamp.migration.MigrationToolMain.main(MigrationToolMain.java:62) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:62) `}} /> );

{}

2.7. DBMSMigrationTool성공시 jar파일 위치에 "원본DBMS명_to_대상DBMS명" 디렉토리 생성됨.

export const FileListingSVG = () => (

🗎 DBMSMigrationTool.jar 📁 MSSQL_to_MSSQL `}} /> );

{}

2.8. "원본DBMS명_to_대상DBMS명" 디렉토리 내 SQL파일 생성됨.

export const SQLFileListSVG = () => (

AddressBook_Info.sql AddressBookTarget_Info.sql AppProgramList_Info.sql ApproachTargetDutyGroup_Info.sql ApproachTargetGroup_Info.sql ApproachTargetUserGroup_Info.sql BackupSchedule_Info.sql BlockUSBProcess_Info.sql BusinessExtension_Info.sql BusinessProgram_Info.sql Category_Info.sql CategoryClassAuth_Info.sql CategoryGroupAuth_Info.sql CategoryPrintMarkEnv_Info.sql CategoryUserAuth_Info.sql CheckoutUser_Info.sql Classification_Info.sql ClientToolAuth_Info.sql ClientToolRunPeriod_Info.sql CustomPolicy_Info.sql CustomPolicyAuth_Info.sql DBVersion.sql `}} /> );

{}

2.9. 테이터가 5만건 이상인 경우 SQL파일이 분할되어 생성됨.

export const SQLFileMultiListSVG = () => (

Classification_Info.sql ClientToolAuth_Info.sql ClientToolRunPeriod_Info.sql CustomPolicy_Info.sql CustomPolicyAuth_Info (1).sql CustomPolicyAuth_Info (2).sql CustomPolicyAuth_Info (3).sql CustomPolicyAuth_Info (4).sql CustomPolicyAuth_Info (5).sql CustomPolicyAuth_Info (6).sql CustomPolicyAuth_Info (7).sql CustomPolicyAuth_Info (8).sql CustomPolicyAuth_Info (9).sql CustomPolicyAuth_Info (10).sql CustomPolicyAuth_Info (11).sql DBVersion.sql `}} /> );

{}

2. Windows에서 추출 방법

2.1. DBMS_Migration_Tool.zip 파일을 서버에 업로드 및 압축 해제

2.2. DBMS_Migration_Tool 실행

  • SCI Server 가 설치된 폴더에서 실행이 가능합니다.

export const MigrationToolRUNSVG = () => (

`}} /> );

{}

  • 글자가 깨지는 경우 옵션(-Dfile.encoding=UTF-8) 추가 합니다.
java -Dfile.encoding=UTF-8 -jar DBMSMigrationTool.jar

2.3. 원본 DBMS정보 및 대상 DBMS 정보 선택

2.3.1. 원본 DBMS 선택 (1~4번 입력 후 엔터)

{}

2.4.2. 원본 DBMS의 IP 입력

{}

2.4.3. 원본 DBMS의 PORT 입력

{}

2.4.4. 사용자 정보 입력 (ID, PW)

{}

{}

2.4.5. 원본 DB명 입력 (대소문자 구분x)

{}

2.4.6. 대상 DBMS 선택 (1~4번 입력 후 엔터)

{}

2.5. 원본 DATA 추출

{}

2.6. 실패시 에러 log 확인가능 (PORT 틀렸을 경우)

{}

2.7. DBMSMigrationTool성공시 jar파일 위치에 "원본DBMS명_to_대상DBMS명" 디렉토리 생성됨.

{}

2.8. "원본DBMS명_to_대상DBMS명" 디렉토리 내 SQL파일 생성됨.

{}

2.9. 테이터가 5만건 이상인 경우 SQL파일이 분할되어 생성됨.

{}

ARIA암호화 알고리즘 사용 고객사 주의 사항

serverprofile_info.sql파일에서 DSHeader_Key 값이 DB의 값과 동일한지 확인

  • DSHeader_Key의 데이터 유형이 BINARY로 추출된 값이 @8b128dfn과 같은 값으로 sql파일에 추출되는 사례 발생
  • sql파일에 DB에서 값을 복사하여 붙여 넣기 한다.

3. Import 방법

<Tabs defaultValue="MariaDB" values={[ {label: 'MariaDB', value: 'MariaDB'}, {label: 'MSSQL', value: 'MSSQL'}, {label: 'ORACLE', value: 'ORACLE'}, {label: 'CUBRID', value: 'CUBRID'}, ]}>

HeidiSQL툴 사용

  1. HeidiSQL 실행 → DB 접속 → Target DB 선택

  2. 파일 메뉴 → SQL 파일 실행... → 단일(또는 다중) sql파일 선택 후 열기 → 파일을 직접 실행

COMMAND 단일 파일 실행

  • mysql 실행파일을 통한 실행
  • -u 사용자계정 tftdb 쿼리가 실행되는 db명 -p 실행시에 패스워드 입력받음
mysql -u 계정ID -p tftdb < 추출된.sql파일명

export const SQLRUNSVG = () => ( <div dangerouslySetInnerHTML={{__html: <svg version="1.1" id="svg1" width="521" height="109" viewBox="0 0 521 109"> <defs id="defs1" /> <sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:zoom="3.4088292" inkscape:cx="260.35332" inkscape:cy="54.417511" inkscape:window-width="1920" inkscape:window-height="1009" inkscape:window-x="2552" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="g1" /> <g inkscape:groupmode="layer" inkscape:label="Image" id="g1"> <image width="521" height="109" preserveAspectRatio="none" style="image-rendering:optimizeQuality" xlink:href="data:image/png;base64,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&#10;+ydZmO9OPJdCblmqjEgtb1q3hNQRbsMyctsgn9q0L2f/aXluWc760m5YJlxPy9eEZfykCfNj5fqm&#10;tdOmbdf3WH1d8pt0XT/F1de2fn8drY6u+U4qTzTlx7h1tO9kiab2tfrdMvnUpoVWX7jMb1srL1L5&#10;blmqTI42dfvLYmVEKq+Jv25s/TA/Vq4PP6k/J2gN+idCDqlD1nGfubTyucty9FGXlPe16ceic/sk&#10;Z3+12X+567vlfhltWW4ftHLhMm2+L6m6cvqfI9X/ME+Ey5ryU3LqT5GyMa6OsL6S+mN1OF3zhdY/&#10;n5Yfq8uXW65JU/9yuDpK+6SV1/qTmhel7ZZIte8+U+2n1m+ilW2qT+ZnSb2TIB0IU9+kTm2H5LbV&#10;tk99bIvU4adZH6RFE+7D0n0Qrp8i9WrnSYzWl6b1/TytbG7bOaSuWOpDm/77+V370cf6seT400Lm&#10;w2P+WHL2f9v+u3JdtjWnf/Pmtx/rX7jNs+xzl7pz+1/Cr+8xjl+v7yT0RXaEn/rWd/1dTwLoZJ/K&#10;vu3zS+CO1boer3lsv6t/1u2sI/d9WNb9mnP+uXw/rYtF/H1qHSTENsJtpHxq801cWT/1adb1LzvZ&#10;H12OXx+kvS5tuj4LrR6Zd2VcuXUyy+13+9tP6N+sjp8Tq9e1645rOJ9Dyrr1tHZcfpjWhdve2P6Z&#10;t0e9k7AsB770S4D23L6ex/527fhfxHBeLMIXdRa07V+GbdWOj2zHutGO3zJZ9v7PmrZ/tP016/3X&#10;6183rCs5SH3tj9hJoNU/65MjJrd/bfS9H8P6cvaZW9elvvo0D67vPn8+zCsVq3+e+2iRj0/T/hfa&#10;fJdtKFk3p39iVvtUa8un9U80rbcoYvtX259tt9O14dKsjpWzcS//kpL16tUr8+7du2QnczsTdtyf&#10;j21UWMYny3PqCKXa8vn1h3nCr6Mpv0Ssf8JvJ1Um1Xbb/HC5P++m5dOJtaHVn7ssxi8bm3Zi9cpy&#10;X07bJfV3FfZPlLbj1yHr+n0N69e2y6e1Hdbv09b32++ir3pE0zY0tdO0viN5rj7/02lqZxZi/csR&#10;ltXmQ6l8rd1UmbC9trR6uizzSb4TKxerw19XpNpx2vQx11SQACyznC9nG3194dANxwEp/vc/tMrn&#10;zSy/FwQJAABAtZB/AgkAAB4fQQIAAFBNBQnybCOWSpSWRzfsbwBA39Q7CfIChJYAAMD64HHDiuLO&#10;AgCgK4IEqJqCDPLT+QCwCoqDBPfjKJ8u+fxlsTKiKc99xsrE5Kzr5/Wdr5UXWjltfeGWNZWJ5Ym2&#10;j4fC+pgvmweAVZL9Ly66Qcfl+4OQLAsHJW2ZE+Zp8yK2foq2rl9/2JaYVX7OtNDmhb/MV1q+lKtP&#10;aHWSn84HgFWR/eKiL5wvIT+wWn3+D6/o0kaq/jb1Nq1TUmfX7Y+t37emOslP5wPAKnhydFVPzZEM&#10;dGGap1Tb8uOvLXea8pedbJcbAN22+shP5wPAKnlyvldPzZH8uGppHtyPfKpdt1zKaoNAU75w7cTy&#10;Z61tu9JnH/Nl8wCwSlbyrxvCAdIN2KVkHUmxAVfL18q3bR8AgMc09yAhNujGBuI2XBsulQzQTf3I&#10;7adrM2xb2/6SPsbWD+XWBwBATPZfNwg3QIUDUGyQ8+vS1vH5+bH6cuSsq7Xtr5fqm8jJ95eF88Kv&#10;o2l9Tbh+zjoAAJRYuf8qmsESAIB+rNw7CQQIAAD0YyVfXAQAAN0RJAAAABVBAgAAUBEkAAAAFUEC&#10;AABQESQAAAAVQQIAAFARJAAAABVBAgAAUBEkAAAAFUECAABQESQAAADVRJDw9evXZAIAAOuDOwkA&#10;AEBFkAAAAFQECQAAQDURJDx9+jSZAADA+uBOAgAAUBEkAAAAFUECAABQESQAAAAVQQIAAFARJAAA&#10;ABVBAgAAUBEkAAAAFUECAABQESQAAAAVQQIAAFARJAAAABVBAgAAUBEkAAAAhTH/B0CRjWvNHlKk&#10;AAAAAElFTkSuQmCC&#10;" id="image1" /> </g> </svg> }} /> );

{}

COMMAND 다중 파일 실행

  • TFTDB디렉토리로 들어가서 실행 예
  • -u실행할 계정명 -p실행시 패스워드 입력 받음 -Dsql문을 실행할 DB명
for f in *.sql; do mysql -udrmadmin -p -DTFTDB < "$f"; done
  • DSLOGDB 또는 AMSDB디렉토리에서 실행시에는 -D디비명 변경 필요

관리자 툴에서 진행하는 것이므로, 관리자툴이 존재하는 PC에서 실행해야 합니다.

ssms 실행 → Target DB 선택 → 상단 쿼리 메뉴 → SQLCMD 모드 선택 → 쿼리 편집기에서 아래와 같이 명령어 입력

단일 파일 실행 명령어

:r "sql파일경로\.sql파일" 

다중 파일 실행 명령어

:r "sql파일경로\.sql파일"
go
:r "sql파일경로\.sql파일"
go

파일 수량만큼 반복

sql developer 실행 → DB 접속 → 쿼리 편집기에서 아래와 같이 명령어 입력

단일 파일 실행 명령어

@"sql파일경로\.sql파일"

다중 파일 실행 명령어

@"sql파일경로\.sql파일";
@"sql파일경로\.sql파일";

파일 수량만큼 반복

CUBRID 매니저 실행 → DB 접속 → 상단 메뉴 가져오기 실행 → 데이터 파일 선택 후 sql 파일 첨부

3. dbmsMigration.properties 사용 방법

insert 쿼리 추출 시 옵션 설정 기능

기본설정 상태(파일이 존재하지 않는 경우로 동작하도록 셋팅)

#테이블 리스트 포함 여부 (Y/N)
includeTableList=N

#테이블 리스트 정보 (세미콜론으로 구분)
#tableLists=dslog_info;userlog_info;pcdevicelog_info;
tableLists=;

dbmsMigration.properties파일이 존재하지 않는 경우

기본 정의된 테이블들에 대해 마이그레이션 진행

ヒント
dbmsMigration.properties파일이 존재하는경우

includeTableList = Y : tableLists에 나열되어있는 테이블만 마이그레이션 진행
includeTableList = N : tableLists에 나열되어있는 테이블 제외하고 나머지 전체 테이블에 대해서 마이그레이션 진행
includeTableList 항목이 없거나, Y/N이 아닌 다른값이 있는경우 : 기존과 동일한 전체 마이그레이션 진행